The present invention relates generally to techniques for reserving resources in communications systems, and more specifically to a resource reservation technique that can be used to reserve resources across a non-operational communications link.
A conventional communications system includes a plurality of nodes interconnected by a plurality of paths to form a communications network. For example, the communications network may comprise a Multi-Protocol Label Switching (MPLS) based network. Each node on the network comprises a computer system or some other device such as a router or switch. Further, each network node is typically configured to forward communications packets (e.g., control or data packets) to at least one neighboring node on the network by receiving a packet at one of its input ports, determining a destination address by examining information in a header field of the packet, and forwarding the packet to the neighboring node via an appropriate output port.
Each node on the network typically forwards communications packets using “hop-to-hop” routing or explicit routing. In hop-to-hop routing, each network node individually determines where to forward a packet based on the packet header information and topology information gathered via a routing protocol. In explicit routing, each network node forwards packets along a previously established path (“explicit path”), as indicated in the packet header field. One or more nodes on the MPLS-based network can program and maintain such explicit paths via a signaling protocol such as the connection-oriented Constraint-based Routing Label Distribution Protocol (CR-LDP) or the connectionless Resource Reservation Protocol (RSVP). Network nodes can also use the signaling protocol to reserve node resources including wavelengths, bandwidths, and/or Quality of Service (QoS) levels along respective paths. Reserving node resources along a path in a network is often referred to as “provisioning the path”.
One shortcoming of the conventional communications system is that node resources can normally be reserved only along explicit paths, in which there are viable links interconnecting the nodes through which the paths traverse. For example, a node at the start of an explicit path (i.e., a “source” node) may specify a list of nodes along the path starting with the source node and ending with a node at the end of the explicit path (i.e., a “sink” node). The source node may then reserve resources along the explicit path by sending control packets to each successive node on the specified list, thereby assuring a desired QoS level for data packets forwarded along the path.
However, such resource reservation techniques typically cannot be used to reserve node resources along a path that is currently incapable of forwarding communications packets. For example, a node interface in the path may be unconnected, or a link interconnecting neighboring nodes along the path may be faulty, broken, or otherwise disconnected. Being able to reserve resources across an unconnected node interface or a disconnected link would allow packets to be forwarded along the path immediately after the packet forwarding capability of the path is restored. Such a capability would also enhance the flexibility of network deployment.
It would therefore be desirable to have an improved technique for reserving resources in a communications system. Such a resource reservation technique would allow the reservation of node resources along paths that are currently incapable of forwarding communications packets. It would also be desirable to have a resource reservation technique that can be used to pre-provision paths during network deployment.